package com.bsoft.AQS1;

import java.util.TimerTask;
import java.util.UUID;
import java.util.concurrent.locks.ReentrantLock;

/**
 * @program: demo
 * @description:  AQS demo
 * @author: hdh
 * @create: 2022:04:02 14:47
 */

/*
   是用来构建锁或者其他同步器组件的重量级基础框架以及整个JUC体系的基石
   通过内置的FIFO对列来完成资源获取线程的排队工作，并通过一个int 类型变量表示持有锁的状态

 */

/*
  锁 是面向锁的使用者         用户层面    定义了程序员和锁的交互的使用层 隐藏了实现细节 调用即可
  同步器 面向锁的实现者       提出统一规范并简化了锁的实现  屏蔽了同步转态管理，阻塞线程排队通知，唤醒机制等
  加锁会导致 阻塞 
 */
public class AQSDemo {
    public static void main(String[] args) {
        //可重入锁  AbstractQueuedSynchronizer  抽象的队列同步器    栈和对列 先进先出
        //可重入锁
        ReentrantLock   lock= new ReentrantLock();



    }
}
